With the recent growth of the Internet and other networks, data transfer between computers has becoming increasingly useful for communications and other purposes. Different network protocols have been developed for data transfer in different network environments and for different purposes. In general, data can be transferred over a network using reliable or non-reliable protocols. Reliable protocols are typically used for point to point communications and non-reliable protocols are typically used for data transfer to multiple recipients.
Reliable protocols are those that guarantee delivery of data packets. Transmission Control Protocol (TCP) along with Internet Protocol (IP), referred to a TCP/IP can be used to reliably transmit data. Real-time Transport Protocol (RTP) can also be used with IP to provide reliable data communication. Other reliable protocols also exist.
Multicasting of network data provides a non-reliable, but widely distributed method for communicating network communication. However, when using multicasting to transmit data, delivery of all of the data is not guaranteed. Thus, multicasting is used where loss of some data is not critical, for example, audio and video streams. Broadcasting can also be used for non-reliable data transport.
While both reliable and non-reliable protocols can be used for appropriate communications, neither reliable nor non-reliable protocols provide efficient use of network bandwidth.